Graphic manipulation applications are often used to convert raster graphics, which depict content in an image using a grid of pixels, to vector graphics, which include data identifying various shapes (e.g., lines, curves, etc.) that are used to depict various content objects in an image. Converting a raster graphic to a vector graphic involves applying a vectorization process, which redraws the content of the raster graphic using a collection of lines, curves, or other shapes.
Existing vectorization solutions apply the same algorithm to all content in a raster graphic when converting from a raster to a vector format. Though this might be useful in cases involving simply images or graphical content, these solutions are inadequate for applications that require a finer level of detail in the vector-based output. For instance, a designer may want to convert raster graphics depicting hand-drawn sketches, hazy images, or oil paintings into vector graphics in order to apply more robust editing techniques available to vector graphics. But applying the same algorithm to all content in a raster graphic could lead to sub-optimal results for certain input images.
For instance, FIG. 1 is a block diagram depicting an example of converting a hazy image depicted in an input raster graphic 102 into an output vector graphic 106 using an existing vectorization process 104. The vectorization process 104 is able to adequately reproduce darker portions of the input raster graphic 102 when generating the output vector graphic 106. But areas of the input raster graphic 102 with fading edges, such as the input regions 108 and 110, are wholly or partially lost in the conversion process, as indicated by the output regions 112 and 114 of the output vector graphic 106. Thus, conventional vectorization solutions are often unsatisfactory for converting certain types of graphic content from a raster format into a vector format.